package nl.rug.ml.dobbelen.learning;

import com.google.common.collect.Multimap;

/**
 * @author Do Bich Ngoc (bichngocdo89@gmail.com)
 *
 */
public abstract class ExploreStratergy {

	protected Multimap<DobbelenState, DobbelenAction> stateActionMap;

	private int updateStep = 1000;
	private double updateRate = 0.9;

	public ExploreStratergy() {
		
	}

	public void setStateActionMap(Multimap<DobbelenState, DobbelenAction> stateActionMap) {
		this.stateActionMap = stateActionMap;
	}

	public int getUpdateStep() {
		return updateStep;
	}

	public void setUpdateStep(int updateStep) {
		this.updateStep = updateStep;
	}

	public double getUpdateRate() {
		return updateRate;
	}

	public void setUpdateRate(double updateRate) {
		this.updateRate = updateRate;
	}

	public abstract DobbelenAction chooseAction(DobbelenState state);

}
